package com.htl.线程.sleep_wait;

import java.util.concurrent.TimeUnit;

public class Synchronized05 {
    public static void main(String[] args) {
        Date5 date5 = new Date5();
        for (int i = 0; i < 5; i++) {
            Integer num = Integer.valueOf(i);//不是同一个对象
            //不会同步，因为 5 个线程有 5 个不同的 num，不会产生争夺，而是各用各的。
            new Thread(()->{
                date5.func(num);
            }).start();
        }
    }
}

class Date5{
    public void func(Integer num){
        synchronized (num){
            System.out.println("start.........");
            try {
                TimeUnit.SECONDS.sleep(2);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("end...........");
        }
    }
}
